home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-09-06 | 4.3 KB | 169 lines | [TEXT/CWIE] |
- // ModelessRadios.cp -- modeless dialog
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "ModelessRadios.h"
-
- #define kRadioGroupGroup 1
- #define kStandardRadio 2
- #define kGroupBox 3
- #define kGroupGroup 4
- #define kGroupRadio1 5
- #define kGroupRadio2 6
- #define kGroupRadio3 7
- #define kGraphicBox 8
- #define kGraphicGroup 9
- #define kStopRadio 10
- #define kGoRadio 11
- #define kBevelBox 12
- #define kBevelGroup 13
- #define kRadioButtonRadio 14
- #define kRadioButton2Radio 15
- #define kTextBox 16
- #define kTextGroup 17
- #define kNameRadio 18
- #define kKindRadio 19
- #define kSizeRadio 20
-
-
- //----------
- CModelessRadios* CModelessRadios::sDialog = nil;
-
- //----------
- // static
- CModelessRadios* CModelessRadios::Create ()
- {
- CModelessRadios* dialog = new CModelessRadios;
- DModelessRadiosData* data = new DModelessRadiosData;
-
- dialog->MakeDialog (DLOG_ModelessRadios);
- dialog->ConnectToData (data);
-
- return dialog;
- }
-
- //----------
- // static
- CModelessRadios* CModelessRadios::Show ()
- {
- if (sDialog == nil) {
- sDialog = CModelessRadios::Create ();
- }
- if (sDialog != nil) {
- ::SelectWindow (sDialog->mDialog);
- ::ShowWindow (sDialog->mDialog);
- }
- return sDialog;
- }
-
- //----------
- CModelessRadios::CModelessRadios ()
- {
- mData = nil;
- }
-
- //----------
- CModelessRadios::~CModelessRadios ()
- {
- sDialog = nil;
- }
-
- //----------
- void CModelessRadios::FinishMake ()
- {
- mRadioGroupGroupHandle = GetControlItem (kRadioGroupGroup);
- mStandardHandle = GetControlItem (kStandardRadio);
- mGroupBoxHandle = GetControlItem (kGroupBox);
- mGroupGroupHandle = GetControlItem (kGroupGroup);
- mGroupRadio1Handle = GetControlItem (kGroupRadio1);
- mGroupRadio2Handle = GetControlItem (kGroupRadio2);
- mGroupRadio3Handle = GetControlItem (kGroupRadio3);
- mGraphicBoxHandle = GetControlItem (kGraphicBox);
- mGraphicGroupHandle = GetControlItem (kGraphicGroup);
- mStopHandle = GetControlItem (kStopRadio);
- mGoHandle = GetControlItem (kGoRadio);
- mBevelBoxHandle = GetControlItem (kBevelBox);
- mBevelGroupHandle = GetControlItem (kBevelGroup);
- mRadioButtonHandle = GetControlItem (kRadioButtonRadio);
- SetBevelButtonGraphicAlignment (mRadioButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- mRadioButton2Handle = GetControlItem (kRadioButton2Radio);
- SetBevelButtonGraphicAlignment (mRadioButton2Handle, kControlBevelButtonAlignCenter, 0, 0);
- mTextBoxHandle = GetControlItem (kTextBox);
- mTextGroupHandle = GetControlItem (kTextGroup);
- mNameHandle = GetControlItem (kNameRadio);
- mKindHandle = GetControlItem (kKindRadio);
- mSizeHandle = GetControlItem (kSizeRadio);
- }
-
- //----------
- void CModelessRadios::ConnectToData (
- AMSignaler* inData)
- {
- AMDialog::ConnectToData (inData);
- mData = (DModelessRadiosData*) inData;
-
- SetControlValue (mRadioGroupGroupHandle, mData->GetRadioGroup3 ());
- SetControlValue (mGroupGroupHandle, mData->GetGroup3 ());
- SetControlValue (mGraphicGroupHandle, mData->GetGraphic5 ());
- SetControlValue (mBevelGroupHandle, mData->GetBevel3 ());
- SetControlValue (mTextGroupHandle, mData->GetText3 ());
- }
-
- //----------
- void CModelessRadios::DataChanged (
- long inDataID)
- {
- if (inDataID == idRadioGroup3) {
- SetControlValue (mRadioGroupGroupHandle, mData->GetRadioGroup3 ());
- }
- if (inDataID == idGroup3) {
- SetControlValue (mGroupGroupHandle, mData->GetGroup3 ());
- }
- if (inDataID == idGraphic5) {
- SetControlValue (mGraphicGroupHandle, mData->GetGraphic5 ());
- }
- if (inDataID == idBevel3) {
- SetControlValue (mBevelGroupHandle, mData->GetBevel3 ());
- }
- if (inDataID == idText3) {
- SetControlValue (mTextGroupHandle, mData->GetText3 ());
- }
- }
-
-
- //----------
- void CModelessRadios::DoItem (
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kRadioGroupGroup:
- mData->SetRadioGroup3 (GetControlValue (mRadioGroupGroupHandle));
- break;
- case kGroupGroup:
- mData->SetGroup3 (GetControlValue (mGroupGroupHandle));
- break;
- case kGraphicGroup:
- mData->SetGraphic5 (GetControlValue (mGraphicGroupHandle));
- break;
- case kBevelGroup:
- mData->SetBevel3 (GetControlValue (mBevelGroupHandle));
- break;
- case kTextGroup:
- mData->SetText3 (GetControlValue (mTextGroupHandle));
- break;
-
- } // switch
- }
-